/**
 * 字符串操作常用方法
 * Copyright(c) 2015 huanjie
 */  

/*
 * 严格模式
 * */
'use strict'

/**
 * 导出
*/
module.exports = {
    "divider": divider,
    "trunc": trunc
};

/**
 * 字符串分割
 * 字符串中添加指定的分割符，结果还是一个完整的字符串。
*/
function divider(str, width, spaceReplacer) {
    if (str.length > width) {
        var p = width;
        while (p > 0 && (str[p] != ' ' && str[p] != '-')) {
            p--;
        }
        if (p > 0) {
            var left;
            if (str.substring(p, p + 1) == '-') {
                left = str.substring(0, p + 1);
            } else {
                left = str.substring(0, p);
            }
            var right = str.substring(p + 1);
            return left + spaceReplacer + divider(right, width, spaceReplacer);
        }
    }
    return str;
};

/**
 * 截取字符串指定长度，并在后边添加省略号'...'
*/
function trunc(str, length) {
    if (!str) {
        return "";
    }
    length = length || 0;
    return str.length > length ? str.substr(0, length - 1) + '...' : str.substr(0);
};

